package org.ventura.sistemafinanciero.entity;

// Generated 02-may-2014 11:48:28 by Hibernate Tools 4.0.0

import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * TransaccionCajaCaja generated by hbm2java
 */
@Entity
@Table(name = "TRANSACCION_CAJA_CAJA", schema = "BDSISTEMAFINANCIERO")
public class TransaccionCajaCaja implements java.io.Serializable {

	private BigDecimal idTransaccionCajaCaja;
	private Moneda moneda;
	private HistorialCaja historialCajaByIdCajaHistorialDestino;
	private HistorialCaja historialCajaByIdCajaHistorialOrigen;
	private Date fecha;
	private Date hora;
	private BigDecimal saldoDisponibleOrigen;
	private String observacion;
	private BigDecimal estadoSolicitud;
	private BigDecimal estadoConfirmacion;
	private BigDecimal saldoDisponibleDestino;

	public TransaccionCajaCaja() {
	}

	public TransaccionCajaCaja(BigDecimal idTransaccionCajaCaja,
			HistorialCaja historialCajaByIdCajaHistorialDestino,
			HistorialCaja historialCajaByIdCajaHistorialOrigen, Date fecha,
			Date hora, BigDecimal saldoDisponibleOrigen,
			BigDecimal estadoSolicitud, BigDecimal estadoConfirmacion,
			BigDecimal saldoDisponibleDestino) {
		this.idTransaccionCajaCaja = idTransaccionCajaCaja;
		this.historialCajaByIdCajaHistorialDestino = historialCajaByIdCajaHistorialDestino;
		this.historialCajaByIdCajaHistorialOrigen = historialCajaByIdCajaHistorialOrigen;
		this.fecha = fecha;
		this.hora = hora;
		this.saldoDisponibleOrigen = saldoDisponibleOrigen;
		this.estadoSolicitud = estadoSolicitud;
		this.estadoConfirmacion = estadoConfirmacion;
		this.saldoDisponibleDestino = saldoDisponibleDestino;
	}

	public TransaccionCajaCaja(BigDecimal idTransaccionCajaCaja, Moneda moneda,
			HistorialCaja historialCajaByIdCajaHistorialDestino,
			HistorialCaja historialCajaByIdCajaHistorialOrigen, Date fecha,
			Date hora, BigDecimal saldoDisponibleOrigen,
			String observacion, BigDecimal estadoSolicitud,
			BigDecimal estadoConfirmacion, BigDecimal saldoDisponibleDestino) {
		this.idTransaccionCajaCaja = idTransaccionCajaCaja;
		this.moneda = moneda;
		this.historialCajaByIdCajaHistorialDestino = historialCajaByIdCajaHistorialDestino;
		this.historialCajaByIdCajaHistorialOrigen = historialCajaByIdCajaHistorialOrigen;
		this.fecha = fecha;
		this.hora = hora;
		this.saldoDisponibleOrigen = saldoDisponibleOrigen;
		this.observacion = observacion;
		this.estadoSolicitud = estadoSolicitud;
		this.estadoConfirmacion = estadoConfirmacion;
		this.saldoDisponibleDestino = saldoDisponibleDestino;
	}

	@Id
	@Column(name = "ID_TRANSACCION_CAJA_CAJA", unique = true, nullable = false, precision = 22, scale = 0)
	public BigDecimal getIdTransaccionCajaCaja() {
		return this.idTransaccionCajaCaja;
	}

	public void setIdTransaccionCajaCaja(BigDecimal idTransaccionCajaCaja) {
		this.idTransaccionCajaCaja = idTransaccionCajaCaja;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_MONEDA")
	public Moneda getMoneda() {
		return this.moneda;
	}

	public void setMoneda(Moneda moneda) {
		this.moneda = moneda;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_CAJA_HISTORIAL_DESTINO", nullable = false)
	public HistorialCaja getHistorialCajaByIdCajaHistorialDestino() {
		return this.historialCajaByIdCajaHistorialDestino;
	}

	public void setHistorialCajaByIdCajaHistorialDestino(
			HistorialCaja historialCajaByIdCajaHistorialDestino) {
		this.historialCajaByIdCajaHistorialDestino = historialCajaByIdCajaHistorialDestino;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_CAJA_HISTORIAL_ORIGEN", nullable = false)
	public HistorialCaja getHistorialCajaByIdCajaHistorialOrigen() {
		return this.historialCajaByIdCajaHistorialOrigen;
	}

	public void setHistorialCajaByIdCajaHistorialOrigen(
			HistorialCaja historialCajaByIdCajaHistorialOrigen) {
		this.historialCajaByIdCajaHistorialOrigen = historialCajaByIdCajaHistorialOrigen;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FECHA", nullable = false, length = 7)
	public Date getFecha() {
		return this.fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	@Column(name = "HORA", nullable = false)
	public Date getDate() {
		return this.hora;
	}

	public void setDate(Date hora) {
		this.hora = hora;
	}

	@Column(name = "SALDO_DISPONIBLE_ORIGEN", nullable = false, precision = 18)
	public BigDecimal getSaldoDisponibleOrigen() {
		return this.saldoDisponibleOrigen;
	}

	public void setSaldoDisponibleOrigen(BigDecimal saldoDisponibleOrigen) {
		this.saldoDisponibleOrigen = saldoDisponibleOrigen;
	}

	@Column(name = "OBSERVACION", length = 140,columnDefinition = "nvarchar2")
	public String getObservacion() {
		return this.observacion;
	}

	public void setObservacion(String observacion) {
		this.observacion = observacion;
	}

	@Column(name = "ESTADO_SOLICITUD", nullable = false, precision = 22, scale = 0)
	public BigDecimal getEstadoSolicitud() {
		return this.estadoSolicitud;
	}

	public void setEstadoSolicitud(BigDecimal estadoSolicitud) {
		this.estadoSolicitud = estadoSolicitud;
	}

	@Column(name = "ESTADO_CONFIRMACION", nullable = false, precision = 22, scale = 0)
	public BigDecimal getEstadoConfirmacion() {
		return this.estadoConfirmacion;
	}

	public void setEstadoConfirmacion(BigDecimal estadoConfirmacion) {
		this.estadoConfirmacion = estadoConfirmacion;
	}

	@Column(name = "SALDO_DISPONIBLE_DESTINO", nullable = false, precision = 18)
	public BigDecimal getSaldoDisponibleDestino() {
		return this.saldoDisponibleDestino;
	}

	public void setSaldoDisponibleDestino(BigDecimal saldoDisponibleDestino) {
		this.saldoDisponibleDestino = saldoDisponibleDestino;
	}

}
